package com.platform.qujia.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.platform.qujia.enums.OrderStatus;
import com.platform.qujia.enums.ShipmentStatus;
import com.yunhua.oil.common.core.utils.LocalDateUtils;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @description sale_activity_order
 * @date 2023-12-21
 */
@Setter
@Getter
@ToString
public class SaleActivityOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 限时销售活动id
     */
    private Long saleActivityId;

    /**
     * 限时销售活动名称
     */
    private String saleActivityName;

    /**
     * 油企id
     */
    private Long enterpriseId;

    /**
     * 油企名称
     */
    private String enterpriseName;

    /**
     * 油站id
     */
    private Long stationId;

    /**
     * 油站名称
     */
    private String stationName;

    /**
     * 会员id
     */
    private Integer customerId;

    /**
     * 会员昵称
     */
    private String customerName;

    /**
     * 会员手机号
     */
    private String mobilePhone;

    /**
     * 购买数量
     */
    private Integer purchaseNum;

    /**
     * 实付金额
     */
    private BigDecimal amt;

    /**
     * 支付方式
     */
    private String payType;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = LocalDateUtils.DATETIME_14_FORMAT)
    private LocalDateTime createTime;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = LocalDateUtils.DATETIME_14_FORMAT)
    private LocalDateTime payTime;

    /**
     * 订单状态，0-未支付，1-已支付，2-支付失败，3-已退款
     */
    private OrderStatus orderStatus;

    /**
     * 发放状态，0-未发放，1-已发放，2-发放失败
     */
    private ShipmentStatus shipmentStatus;

    /**
     * pay_way表主键
     */
    private Long payWayId;

    /**
     * 渠道费
     */
    private BigDecimal serviceCharge;

    /**
     * 退款时间
     */
    @JsonFormat(pattern = LocalDateUtils.DATETIME_14_FORMAT)
    private LocalDateTime refundTime;

    /**
     * 第三方订单号(针对云化)
     */
    private String transNo;

    /**
     * 第三方流水号(针对云化)
     */
    private String payNo;

    /**
     * 删除时间
     */
    @JsonFormat(pattern = LocalDateUtils.DATETIME_14_FORMAT)
    private LocalDateTime delTime;

    /**
     * 0-未删除，1-删除
     */
    @TableLogic(value = "0",delval = "1")
    private Integer delFlg;
}
